package de.wiv.tapestryportlet2.components;

import org.apache.tapestry5.BindingConstants;
import org.apache.tapestry5.Block;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.annotations.Inject;

/**
 * Layout component for pages of application tapestryportlet2.
 */
//@IncludeStylesheet("context:layout/layout.css")
public class Layout {

    /** The page title, for the <title> element and the <h1> element. */
    @Property
    @Parameter(required = true, defaultPrefix = BindingConstants.LITERAL)
    private String             title;

    @Property
    private String             pageName;

    @Property
    @Parameter(defaultPrefix = BindingConstants.LITERAL)
    private String             sidebarTitle;

    @Property
    @Parameter(defaultPrefix = BindingConstants.LITERAL)
    private Block              sidebar;

    @Inject
    private ComponentResources resources;

    public String getClassForPageName() {
        return this.resources.getPageName().equalsIgnoreCase(this.pageName) ? "current_page_item" : null;
    }

    public String[] getPageNames() {
        return new String[] { "Index", "About", "Contact" };
    }
}
